<?php

if(!(isset($_SESSION))) session_start();

class Calendari_View {
    
    public function __construct() {
    }
    
    # Funció encarregada d'agafar el fitxer HTML de le vista que volgui retornar
    function get_template($form="get") {
        $file = SITE_ROOT."/site_media/html/calendari/calendari_".$form.".html";
        $template = file_get_contents($file);
        return $template;
    }

    # Donada una cadena dins de "{}" seleccionem el contingut que volgue retornar
    function generarFormTag($clavedestino) {
        $data_usuari = unserialize($_SESSION["usuari"]);
        $resultat_retornar = null;

        switch ($clavedestino) {
            case "{NOM_USUARI}":
                $resultat_retornar = $data_usuari->getNom();
                return $resultat_retornar;
                break;
            case "{MAIL_USUARI}":
                $resultat_retornar = $data_usuari->getMail();
                return $resultat_retornar;
                break;
            case "{IMATGE_PERFIL}":
                $resultat_retornar = $data_usuari->getImatgePerfil();
                return $resultat_retornar;
                break;
        }

        serialize($_SESSION["usuari"]);
        return $clavedestino;
    }

    # A partir del tipus de vista desitjat cridem a les funcions necessaries que substituiran partint de les etiquetes "{}" el contingut que volguem mostrar per pantalla
    function devolver_vista($vista) {
        if(isset($vista)) {
            if($vista == "VIEW_DEFAULT_CALENDARI") $html = $this->get_template("template");
        }
    
        $html = str_replace("{ROOT_FRAMEWORK}", SITE_ROOT, $html);
        $html = str_replace("{MAIL_USUARI}", $this->generarFormTag("{MAIL_USUARI}"), $html);
        $html = str_replace("{NOM_USUARI}", $this->generarFormTag("{NOM_USUARI}"), $html);        
        $html = str_replace("{IMATGE_PERFIL}", $this->generarFormTag("{IMATGE_PERFIL}"), $html);
        
        print $html;
    }    
}

?>
